package ar.com.logic.components;

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;

public class CoordenadasFijos {
	private Map<Integer, Integer> coordenadas;

	public CoordenadasFijos() {
		this.coordenadas = new HashMap<Integer, Integer>();
	}

	public void agregarCoordenada(Integer valor, Integer posicion) {
		this.coordenadas.put(posicion, valor);
	}

	public Integer getFijoPosicion(Integer posicion) {
		if (this.coordenadas.containsKey(posicion)) {
			return this.coordenadas.get(posicion);
		} else {
			return null;
		}
	}

	public boolean tieneFijoEnPosicion(Integer posicion) {
		return this.coordenadas.containsKey(posicion);
	}

	public boolean tienePosicionFijaElValor(Integer valor) {
		return this.coordenadas.containsValue(valor);
	}

	public Integer getPosicionValor(Integer valor) {
		if (this.tienePosicionFijaElValor(valor)) {

			for (Entry<Integer, Integer> es : this.coordenadas.entrySet()) {
				if (es.getValue() == valor) {
					return es.getKey();
				}
			}

		}
		return null;
	}

	public Integer getCantidadFijos() {
		return this.coordenadas.size();
	}
}
